오늘 한 일
- 약알림앱
- Rust공부
Kotlin TimePicker 구현
알람 시간대 설정 로직
: 알람 시간을 누르면 핸드폰 알람 앱에서 시간을 설정하듯 시간을 설정하도록…
터치하면 카테고리를 고를 수 있게 패널이 뜨는 것을 뭐라고 하는지 모르겠다.
⇒ PopupMenu
PopupMenu
res/menu/
→ 메뉴, 아이템 명시 & 아이템에 이벤트 명시
.kt
→ 해당 이벤트(핸들러)를 파일에 명시
버튼의 값 바꾸기
class LoginActivity2:AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_login2)
val morningClock: Button = findViewById(R.id.morning_clock)
morningClock.setOnClickListener { view ->
val popupMenu = PopupMenu(this, view) // Create a PopupMenu and pass the context and anchor view
popupMenu.inflate(R.menu.menu_morning_clock) // Inflate the menu resource
// Show the PopupMenu
popupMenu.setOnMenuItemClickListener { item ->
morningClock.text = onClickMorn(item)// Call the separate onClickMorn function
true
}
popupMenu.show()
}
}
fun onClickMorn(item: MenuItem): String{
return item.title.toString()
}
}
⇒ morningClock이 val이므로 morningClock.text가 변하지 않는 것?
⇒ morningClock의 값이 변했지만 화면에 rerender가 되지 않았기 때문에 변하지 않는 것?
→ 둘다 아니였다는…
xml 이벤트 명시 없이 진행
popupMenu.setOnMenuItemClickListener { item ->
morningClock.text = item.title
true
}
: 보아하니 Kotlin쪽 코드로 핸들러를 실행하는 것과 xml로 실행하는 것이 충돌하는듯하다.
→ 그냥 Kotlin 쪽 코드에 일임했더니 성공
Rust 공부
Rust로 swapper 구현
: 기존에 운영체제를 만들어보고 싶어서 시작한 것도 있었기 때문에 이번 주 과제를 swapper 만들기로 생각해봤다.
요구사항
각 함수 안의 코드가 10줄을 넘지 않도록
메모리영역이 있다. : 32
디스크영역이 있다. : 256
태스크가 있다. 태스크가 메모리를 모두 차지하여 메모리 공간이 없을 때 스와핑을 한다 태스크는 suspend 될 수 있다.사용자는 프로그램을 실행할 수 있다.
LOL: 24, kakaotalk: 5, discord: 18, chrome: 10, chess: 4
FIFA: 18, memo: 2, vcs: 6, terminal: 1, slack: 6
직면한 문제..
: 너무 많아서 일단 부딪혀봐야 알 것 같다.
: 코드 단순화를 위해 먼저 필요한 함수를 설계하는 일부터 해봐야 할 것 같다.